/**
 * 检查 token 是否有效
 * @returns {boolean} token 是否有效
 */
export const checkToken = (): boolean => {
  const token = localStorage.getItem('token');
  
  // 如果没有 token，返回 false
  if (!token) {
    console.log('没有找到 token');
    return false;
  }
  
  // 检查 token 格式
  // JWT token 通常由三部分组成，用点号分隔：header.payload.signature
  const parts = token.split('.');
  if (parts.length !== 3) {
    console.error('无效的 token 格式，应该有三部分用点号分隔');
    return false;
  }
  
  try {
    // 尝试解码 header 和 payload（不验证签名）
    const header = JSON.parse(atob(parts[0]));
    const payload = JSON.parse(atob(parts[1]));
    
    console.log('Token header:', header);
    console.log('Token payload:', payload);
    
    // 检查是否过期
    if (payload.exp && payload.exp * 1000 < Date.now()) {
      console.error('Token 已过期');
      return false;
    }
    
    return true;
  } catch (error) {
    console.error('解析 token 时出错:', error);
    return false;
  }
};

/**
 * 清除 token
 */
export const clearToken = (): void => {
  localStorage.removeItem('token');
  console.log('已清除 token');
};